The present invention relates to a digital signal processing method and an apparatus thereof for synchronously reproducing a performance tone signal output from a sound source storing a plurality of instrument information items, synchronized with a digital signal other than the performance tone signal, a control data generation method and an apparatus thereof for generating control data which enables the synchronous reproduction, and a program recording medium for recording a program which enables the synchronous reproduction.
Musical Instrument Digital Interface (MIDI) is widely used as an interface for controlling performance of instruments in which control data is supplied to a sound source storing instrumental tones to thereby generate performed tones of instruments from the sound source. At present, MIDI is taken as the standard interface for externally controlling electronic instruments.
A MIDI signal represents a digitally encoded performance parameter of a corresponding electronic instrument or the like, and a performance can be corrected by correcting a code even after encoding. Recording, editing, and reproduction of a MIDI signal is carried out with a sequencer or a sequencer software, and MIDI signals are treated in form of a MIDI file.
Also, a standard MIDI file (SMF) is known as the unified standard for maintaining compatibility between different sequencers or different kinds of sequencer software. The SMF is composed of data units called xe2x80x9cchunksxe2x80x9d. The xe2x80x9cchunksxe2x80x9d define data pieces called a header chunk and a track chunk. The header chunk is set at the top of a SMF file and describes basic information concerning the data in the file. The track chunk is composed of time information (Delta-Time) and events. The event represents an action, event or the like which will change any of the items of the data file. Events of MIDI file data formatted in the SMF format are roughly classified into three types of events, i.e., MIDI events, SysEx events (system exclusive events), and Meta events.
MIDI events directly express performance data. SysEx events mainly express system exclusive messages for MIDI. System exclusive messages are used to exchange information peculiar to a specific instrument and to transmit special non-musical information, event information, and the like. Meta events express additive information such as information indicating tempo, time, and the like concerning the entirety of a performance, information including words of a song used by sequencer software, or copyright information. Every Meta event begins with 0xFF which is followed by a byte representing the event type, and the data length and data itself further follow. The MIDI performance program is designed so as to ignore those Meta events that cannot be recognized by the program itself.
Each event is added with timing information concerning the timing when the event is executed. The timing information is represented as a time difference from execution of a previous event immediately before the present event. For example, if the timing information is xe2x80x9c0xe2x80x9d, the present event added with this information is executed at the same time when the previous event is executed.
In general, music reproduction using the MIDI standard adopts a system in which various signals and tones peculiar to instruments are modeled, and a sound source which stores the data of the modeling is controlled by various parameters. Therefore, it is difficult to express those sounds that are difficult to model or that have not yet been studied sufficiently, such as human voices and natural sounds.
Consequently, reproduction of music according to the MIDI standard is limited at most to performance of musical instruments and the like, but cannot cover singing voices and the like.
Hence, demands have appeared for a synchronous reproduction technique for synchronously reproducing audio signals such as human voices which are not performed tones, and performed tones based on MIDI signals together.
Although there has been a system like certain sequencer software which synchronizes performed tones based on MIDI signals with audio signals such as vocals. Synchronous reproduction described above has been so complicated and less extendable that it can be achieved only with such sequencer software.
Not only the above-mentioned audio signals which are not performed tones but also image signals and text signals may be considered as objects to be synchronized with MIDI signals. Expansion to unified media has thus been expected. In addition, data transmission via networks have been carried out frequently in recent years, and the unified media may naturally be subjected to such data transmission. Therefore, systems via networks require a technique which enables synchronous reproduction as described above, easy operation, and high extendibility. Also desirable is a technique capable of easily correcting data as in the case of MIDI data.
The present invention has an object of providing a digital signal processing method and an apparatus thereof which are capable of realizing synchronous reproduction of the signal of a performance tone and another signal than the performance tone signal, with use of control data described in interface data for the instrumental performance, without influencing the reproduction from the sound source.
Also, the present invention has another object of providing a control data generating method and an apparatus thereof, which are capable of generating interface data containing control data for synchronizing the performance tone signal with another digital signal than the performance tone signal.
Further, the present invention has another object of providing a program recording medium as software which enables synchronous reproduction of the performance tone signal and another digital signal than the performance tone signal, at any place for any person where an appropriate apparatus is available.
To achieve the above objects, in the digital signal processing method according to the present invention, a performance tone signal based on interface data for an instrumental performance, which contains at least performance data for causing a sound source storing plural pieces of instrumental tone information to generate a performance tone of an instrument, and a digital signal other than the performance tone signal are reproduced on the basis of control data previously encoded and described in the interface data.
More specifically, the reproduction timing, the parameters, and the like of an audio signal, image signal, or a text signal which are different from the performance tone signal are controlled with use of control data previously described in the interface data.
This control data is described in a sequencer specific event among events of MIDI data formatted in the SMF format. A manufacturer of a sequencer can write original data in the sequencer specific event. The control data can be easily treated like the other events of the SMF.
The control data described on the sequencer specific event is constructed by a combination of an ID code indicating the type of the control event indicating the content of control, and the control-amount/control-method thereof.
Also, by assigning an ID such as a number or the like to every data piece of data of the audio signal or image signal as the object to be controlled, an arbitrary data piece can be controlled even when a plurality of data pieces exist. The ID can be added to the data by a method of providing a header portion for data.
Therefore, an ID code of the data as the object to be controlled may be contained in control data. Also, it is possible to contain an ID code indicating the type of the control signal, e.g., whether the signal as the object to be controlled is an audio signal, image signal, or text data.
The data to be recorded as control data such as an ID described above is expressed in form of a simple bit string and can be easily treated like data according to the MIDI standard.
Also, the digital signal processing apparatus according to the present invention comprises: first decoding means for decoding control data previously encoded and described in interface data for an instrumental performance, which contains at least performance data for causing a sound source storing plural pieces of instrumental tone information to generate a performance tone of an instrument; and second decoding means for decoding a digital signal other than a signal of the performance tone, in correspondence with reproduction timing information of the performance data, on the basis of the control data decoded by the first decoding means.
Further, the control data generating method according to the present invention comprises a step of generating interface data containing control data for synchronizing a digital signal other than a performance tone signal, with the performance signal output from a sound source which stores plural pieces of instrumental tone information.
Further, the control data generating apparatus according to the present invention comprises means for generating interface data containing control data for synchronizing a digital signal other than a performance tone signal, with the performance signal output from a sound source which stores plural pieces of instrumental tone information.
Also, the program recording medium according to the present invention includes a program recorded therein, which comprises: a first step of decoding control data previously encoded and described in interface data for instrumental performance, which contains at least performance data for causing a sound source storing plural pieces of instrumental tone information to generate a performance tone of an instrument; and a second step of decoding a digital signal other than a signal of the performance tone, in correspondence with reproduction timing information of the performance data, on the basis of the control data decoded by the first step.